package com.cloudbroker.bcs.platform.dav.middle.extservice.uc.impl;

import javax.annotation.Resource;

import com.cloudbroker.bcs.csvc.uc.api.vo.request.*;
import com.cloudbroker.bcs.csvc.uc.api.vo.response.*;
import org.springframework.stereotype.Service;

import com.cloudbroker.bcs.common.annotation.UCFunction;
import com.cloudbroker.bcs.common.entity.HSBCPSBackVO;
import com.cloudbroker.bcs.csvc.uc.api.t2service.UCT2Service;
import com.cloudbroker.bcs.csvc.uc.api.vo.request.base.UCForm;
import com.cloudbroker.bcs.csvc.uc.api.vo.response.base.UCBackVo;
import com.cloudbroker.bcs.platform.dav.middle.extservice.uc.UCenterService;
import com.cloudbroker.bcs.platform.dav.middle.service.TenantService;

@Service
public class UCenterServiceImpl implements UCenterService {
    
    @Resource
    private UCT2Service ucT2Service;
    
    @Resource
    private TenantService tenantService;
    
    @Override
    @UCFunction
    public UIDBackVo funcRegister(FuncRegisterForm param) {
        return ucT2Service.funcRegister(param);
    }
    
    @UCFunction
    @Override
    public UIDBackVo funcLogin(FuncLoginForm param) {
        return ucT2Service.funcLogin(param);
    }
    
    @UCFunction
    @Override
    public AuthCodeBackVo funcAuthCodeGet(FuncAuthCodeForm param) {
        return ucT2Service.funcAuthCodeGet(param);
    }
    
    @UCFunction
    @Override
    public UCBackVo funcAuthCodeLogin(FuncCodeCheckForm param) {
        return ucT2Service.funcAuthCodeLogin(param);
    }
    
    @UCFunction
    @Override
    public HSBCPSBackVO funcUserUpdate(FuncUserUpdateForm param) {
        return ucT2Service.funcUserUpdate(param);
    }
    
    @UCFunction
    @Override
    public UserInfoBackVo funcUserinfo(UCForm param) {
        return ucT2Service.funcUserinfo(param);
    }
    
    @UCFunction
    @Override
    public UserInfoBackVo funcUserTokenCheck(UCForm param) {
        return ucT2Service.funcUserTokenCheck(param);
    }
    
    @UCFunction
    @Override
    public HSBCPSBackVO funcLogout(UCForm param) {
        return ucT2Service.funcLogout(param);
    }
    
    @UCFunction
    @Override
    public HSBCPSBackVO funcPasswordReset(FuncPasswordResetForm param) {
        return ucT2Service.funcPasswordReset(param);
    }
    
    @UCFunction
    @Override
    public UIDBackVo funcRegisterAndLogin(FuncRegisterAndLoginForm param) {
        return ucT2Service.funcRegisterAndLogin(param);
    }
    
    @UCFunction
    @Override
    public UserInfoBackVo funcUserBasicInfo(FuncLoginForm param) {
        return ucT2Service.funcUserBasicInfo(param);
    }
    
    @UCFunction
    @Override
    public CheckRegisterBackVo funcCheckRegister(FuncLoginForm param) {
        return ucT2Service.funcCheckRegister(param);
    }

    @UCFunction
    @Override
    public AdviserInfoVo funcAdviserGet(FuncAdviserForm param) {
        return ucT2Service.funcAdviserGet(param);
    }

    @UCFunction
    @Override
    public CustomerAccountType funcIsCapitalAccount(UCForm param) {
        return ucT2Service.funcIsCapitalAccount(param);
    }
}
